A turbo decoder improves soft values through an iterative procedure. Either it can be run with a fixed number of iterations, or adaptive stop criteria can be used to decide when the process has converged. In order to decode a frame e.g. a block of data, the turbo decoder performs several iterations. For the first iteration, it assumes that the probabilities of 0 and 1 are equal and based on the channel information bits it produces a soft decision output for each data bit. For other iterations, the decoder will use the soft output of the other decoder as a priori probability to perform the next iteration.
Even if a turbo decoder algorithm predicts an average number of iterations N for a frame or job many more may be needed in the worst case, e.g. during a fading dip. If a fixed number of iterations is used, this fixed number has to correspond to the worst case, but even if an adaptive stop algorithm is used the hardware has to be dimensioned for the number of iterations needed in the worst case.
Due to a finite number of resources, the allowed number of iterations must be limited. This number will in the following disclosure be denoted the maximum number of iterations.
Many criteria for adaptive stop are known in prior art. Either the quality of the soft values, or the convergence of hard decisions based on the soft values can be used.
In a WCDMA system with power control, the system tries to control the transmit power in such a way that a certain block error rate (BLER) target is obtained. If the turbo decoder is allowed to always converge, the BLER will be very small and the power control loop will not work. Using e.g. a maximum number of iterations ensures that, depending on the C/I, the BLER is not always equal to zero. If, however, for an adaptive stop algorithm the maximum number of iterations is set per user, it will be equal to the number of iterations needed in the worst case.
The average number of iterations needed for a turbo decoder job to converge depends on the coding scheme used and the requirement on the carrier over interference power ratio (C/I) expected by the receiver. In general, this can be expressed by saying that the average number of iterations depends on the service type.
Even with an adaptive stop criterion with an average number of iterations equal to N is used, many more iterations might be needed in the worst case. If a maximum number of iterations per user is used, then this maximum number will be equal to the number of iterations used in a fixed number of iterations algorithms, and the adaptive stop cannot be used to save resources.
To avoid momentary overload, on a digital signal processor (DSP) or any other type of platform implementing a receiver, more resources than corresponds to the average number of iteration per user need to be allocated. These resources will not be fully utilized. In certain cases, more than 100% more resources than is needed on average, have to be allocated. This has a severe impact on the capacity of the receiver.
Therefore, there is a need for methods and arrangements for improved Turbo decoding.